草庐IT

c++ - Win32 : Monitoring for files being created or changed

全部标签

c# - 在 C# 中用 32 位字交换字节序的更快方法

在thisquestion,以下代码:publicstaticvoidSwap(byte[]data){for(inti=0;i用不安全的代码重写以提高其性能:publicstaticunsafevoidSwapX2(Byte[]Source){fixed(Byte*pSource=&Source[0]){Byte*bp=pSource;Byte*bp_stop=bp+Source.Length;while(bp假设有人想用32位字做同样的事情:publicstaticvoidSwapX4(byte[]data){bytetemp;for(inti=0;i这将如何以类似的方式重写?

c# - 如何在 Win7 和 Win8 上访问存储的凭据(PasswordVault?)?

我刚刚发现Win8的控制面板上有一个名为用户帐户和家庭安全的部分,其中包含凭据管理器。我想访问存储在其中的凭据(不是检索密码,而是将它们用作登录token)。所以,基本上,我想搭上已经安装的软件。最接近解决方案的建议已在thisdiscussion中提出而且还不是接近。在哪里可以找到Windows.Security.Credentials.PasswordVault的程序集?我已经在谷歌上搜索了两个小时,但我只获得了有关应用程序的信息开发,而我将以桌面为目标。有没有办法解决对Win7和Win8的预存凭据的访问?我有点担心Win8中的保险库设施已被彻底改造,使其成为不可能同时针对两个平台

c# - 整数 32?与我可比

我有一个DataGridView,它的数据源是一个BindingList。MyObj有一些可为null的属性(如int?和DateTime?)我想对我的绑定(bind)列表进行排序,以便DataGridView可以在用户单击列标题时对列进行排序。经过一番挖掘,我发现并遵循了这个问题的答案(DataGridViewColumnsortingwithBusinessObjects)。我无法让该解决方案适用于Nullable类型,因为它们没有实现IComparable。即使对于像String这样实现IComparable的类,当String具有空值时ApplySortCore(...)也会失

c# - 使用 WMI 识别哪个设备导致了 Win32_DeviceChangeEvent

我一直在编写一些代码来检测USB设备的添加和移除,并且我使用以下WMI代码来注册设备更改通知:watcher=newManagementEventWatcher(query);watcher.EventArrived+=newEventArrivedEventHandler(DeviceChangeEventReceived);watcher.Start();这是处理程序代码:voidDeviceChangeEventReceived(objectsender,EventArrivedEventArgse){foreach(PropertyDatapdine.NewEvent.Prop

c# - 来自 user32.dll 的 FindWindowEx 使用 dllimport 返回零句柄和 127 错误代码

我需要以编程方式处理另一个Windows应用程序,搜索谷歌我找到了一个示例,它使用DLLImport属性处理Windows计算器并将user32.dll函数导入C#中的托管函数。应用程序正在运行,我正在获取主窗口的句柄,即计算器本身,但之后的代码无法正常工作。FindWindowEx方法不返回计算器子项的句柄,例如按钮和文本框。我尝试在DLLImport上使用SetLastError=True并发现我收到错误代码127,即“未找到过程”。这是我从中获得示例应用程序的链接:http://www.codeproject.com/script/Articles/ArticleVersion.

c# - 从 .NET Windows 服务调用 Shell32.dll

我有一个.NET4.0库,它使用Shell32和Folder.GetDetailsOf()从WTV文件中获取元数据。我已经成功地将它用于控制台和Windows窗体应用程序,没有任何问题。但由于某种原因,当从.NET4.0Windows服务调用组件时,调用启动Shell类会导致COM错误。库中失败的代码:Shell32.Shellshell=newShell();错误:无法将“System.__ComObject”类型的COM对象转换为接口(interface)类型“Shell32.Shell”。此操作失败,因为IID为“{286E6F1B-7113-4355-9562-96B7E9D6

c# - LINQ to Entities 无法识别方法 'Int32 IndexOf(System.String, System.StringComparison)' 方法

我已经使用Entityframework执行了一个linq查询,如下所示GroupMastergetGroup=null;getGroup=DataContext.Groups.FirstOrDefault(item=>keyword.IndexOf(item.Keywords,StringComparison.OrdinalIgnoreCase)>=0&&item.IsEnabled)执行此方法时出现如下异常LINQtoEntitiesdoesnotrecognizethemethod'Int32IndexOf(System.String,System.StringCompariso

c# - 在此上下文中仅支持原始类型 ('such as Int32, String, and Guid' )

我收到以下错误:Unabletocreateaconstantvalueoftype'Phoenix.Intranet.Web.ClientSettings.ComponentRole'.Onlyprimitivetypes('suchasInt32,String,andGuid')aresupportedinthiscontext.我明白为什么会出现这个错误。我不明白的是为什么我的代码会产生错误。我的比较是针对原始类型的。所有的比较都是Guid到Guid。该错误明确指出Guids正常。错误发生在这一行(靠近底部):varvla=(fromcirinphoenixEntities.Co

c# - IList<T>.FindIndex(Int32, Predicate <T>)

有一个List.FindIndex(Int32,Predicate).该方法正是我想要的IList对象。我知道IList有一个方法IndexOf(T)但我需要谓词来定义比较算法。是否有方法、扩展方法、LINQ或一些代码来查找IList中的项目索引?? 最佳答案 好吧,您真的可以轻松编写自己的扩展方法:publicstaticintFindIndex(thisIListsource,intstartIndex,Predicatematch){//TODO:Validationfor(inti=startIndex;i

c# - 在 64 位机器上以 32 位模式运行 Oracle Client

我刚刚从32位Windows7台式机转移到64位Windows7笔记本电脑。我们有一个正在开发的C#程序,该程序在解决方案中包含大约60个项目。我在尝试构建时不断收到以下错误:AttempttoloadOracleclientlibrariesthrewBadImageFormatException.Thisproblemwilloccurwhenrunningin64bitmodewiththe32bitOracleclientcomponentsinstalled显然这个错误很容易解释,我正在尝试让我的整个解决方案以32位模式加载。我已经完成了每个项目并将目标平台设置为x86,但我